package com.bm.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;

/**
 * 
 * @TableName ejyy_property_fee
 */
@TableName(value ="ejyy_property_fee")
@Data
public class EjyyPropertyFee implements Serializable {
    /**
     * 
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 
     */
    private Integer startYear;

    /**
     * 
     */
    private Integer endYear;

    /**
     * 
     */
    private Long communityId;

    /**
     * 
     */
    private Integer houseFee;

    /**
     * 
     */
    private Boolean computedHouseFeeByArea;

    /**
     * 
     */
    private Integer carportFee;

    /**
     * 
     */
    private Boolean computedCarportFeeByArea;

    /**
     * 
     */
    private Integer warehoureFee;

    /**
     * 
     */
    private Boolean computedWarehouseFeeByArea;

    /**
     * 
     */
    private Integer merchantFee;

    /**
     * 
     */
    private Boolean computedMerchantFeeByArea;

    /**
     * 
     */
    private Integer garageFee;

    /**
     * 
     */
    private Boolean computedGarageFeeByArea;

    /**
     * 
     */
    private Boolean wechatPush;

    /**
     * 
     */
    private Boolean smsPush;

    /**
     * 
     */
    private Long createdBy;

    /**
     * 
     */
    private Long createdAt;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        EjyyPropertyFee other = (EjyyPropertyFee) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getStartYear() == null ? other.getStartYear() == null : this.getStartYear().equals(other.getStartYear()))
            && (this.getEndYear() == null ? other.getEndYear() == null : this.getEndYear().equals(other.getEndYear()))
            && (this.getCommunityId() == null ? other.getCommunityId() == null : this.getCommunityId().equals(other.getCommunityId()))
            && (this.getHouseFee() == null ? other.getHouseFee() == null : this.getHouseFee().equals(other.getHouseFee()))
            && (this.getComputedHouseFeeByArea() == null ? other.getComputedHouseFeeByArea() == null : this.getComputedHouseFeeByArea().equals(other.getComputedHouseFeeByArea()))
            && (this.getCarportFee() == null ? other.getCarportFee() == null : this.getCarportFee().equals(other.getCarportFee()))
            && (this.getComputedCarportFeeByArea() == null ? other.getComputedCarportFeeByArea() == null : this.getComputedCarportFeeByArea().equals(other.getComputedCarportFeeByArea()))
            && (this.getWarehoureFee() == null ? other.getWarehoureFee() == null : this.getWarehoureFee().equals(other.getWarehoureFee()))
            && (this.getComputedWarehouseFeeByArea() == null ? other.getComputedWarehouseFeeByArea() == null : this.getComputedWarehouseFeeByArea().equals(other.getComputedWarehouseFeeByArea()))
            && (this.getMerchantFee() == null ? other.getMerchantFee() == null : this.getMerchantFee().equals(other.getMerchantFee()))
            && (this.getComputedMerchantFeeByArea() == null ? other.getComputedMerchantFeeByArea() == null : this.getComputedMerchantFeeByArea().equals(other.getComputedMerchantFeeByArea()))
            && (this.getGarageFee() == null ? other.getGarageFee() == null : this.getGarageFee().equals(other.getGarageFee()))
            && (this.getComputedGarageFeeByArea() == null ? other.getComputedGarageFeeByArea() == null : this.getComputedGarageFeeByArea().equals(other.getComputedGarageFeeByArea()))
            && (this.getWechatPush() == null ? other.getWechatPush() == null : this.getWechatPush().equals(other.getWechatPush()))
            && (this.getSmsPush() == null ? other.getSmsPush() == null : this.getSmsPush().equals(other.getSmsPush()))
            && (this.getCreatedBy() == null ? other.getCreatedBy() == null : this.getCreatedBy().equals(other.getCreatedBy()))
            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getStartYear() == null) ? 0 : getStartYear().hashCode());
        result = prime * result + ((getEndYear() == null) ? 0 : getEndYear().hashCode());
        result = prime * result + ((getCommunityId() == null) ? 0 : getCommunityId().hashCode());
        result = prime * result + ((getHouseFee() == null) ? 0 : getHouseFee().hashCode());
        result = prime * result + ((getComputedHouseFeeByArea() == null) ? 0 : getComputedHouseFeeByArea().hashCode());
        result = prime * result + ((getCarportFee() == null) ? 0 : getCarportFee().hashCode());
        result = prime * result + ((getComputedCarportFeeByArea() == null) ? 0 : getComputedCarportFeeByArea().hashCode());
        result = prime * result + ((getWarehoureFee() == null) ? 0 : getWarehoureFee().hashCode());
        result = prime * result + ((getComputedWarehouseFeeByArea() == null) ? 0 : getComputedWarehouseFeeByArea().hashCode());
        result = prime * result + ((getMerchantFee() == null) ? 0 : getMerchantFee().hashCode());
        result = prime * result + ((getComputedMerchantFeeByArea() == null) ? 0 : getComputedMerchantFeeByArea().hashCode());
        result = prime * result + ((getGarageFee() == null) ? 0 : getGarageFee().hashCode());
        result = prime * result + ((getComputedGarageFeeByArea() == null) ? 0 : getComputedGarageFeeByArea().hashCode());
        result = prime * result + ((getWechatPush() == null) ? 0 : getWechatPush().hashCode());
        result = prime * result + ((getSmsPush() == null) ? 0 : getSmsPush().hashCode());
        result = prime * result + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode());
        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", startYear=").append(startYear);
        sb.append(", endYear=").append(endYear);
        sb.append(", communityId=").append(communityId);
        sb.append(", houseFee=").append(houseFee);
        sb.append(", computedHouseFeeByArea=").append(computedHouseFeeByArea);
        sb.append(", carportFee=").append(carportFee);
        sb.append(", computedCarportFeeByArea=").append(computedCarportFeeByArea);
        sb.append(", warehoureFee=").append(warehoureFee);
        sb.append(", computedWarehouseFeeByArea=").append(computedWarehouseFeeByArea);
        sb.append(", merchantFee=").append(merchantFee);
        sb.append(", computedMerchantFeeByArea=").append(computedMerchantFeeByArea);
        sb.append(", garageFee=").append(garageFee);
        sb.append(", computedGarageFeeByArea=").append(computedGarageFeeByArea);
        sb.append(", wechatPush=").append(wechatPush);
        sb.append(", smsPush=").append(smsPush);
        sb.append(", createdBy=").append(createdBy);
        sb.append(", createdAt=").append(createdAt);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}